package com.hzlj.position.locate.service;

import com.fz.common.base.dto.PageParamDTO;
import com.fz.common.base.dto.QueryPageResultDTO;
import com.hzlj.position.locate.common.dto.position.PositionHandleDTO;
import com.hzlj.position.locate.common.dto.positionNewest.PositionNewestQueryParamDTO;
import com.hzlj.position.locate.common.dto.positionNewest.PositionNewestQueryResultDTO;
import com.hzlj.position.locate.common.dto.positionNewest.PositionNewestQuerySimpleResultDTO;
import com.hzlj.position.locate.common.model.Position;

import java.util.Date;
import java.util.List;

/**
 * 定位记录-分表(PositionNewest)表服务接口
 *
 * @author lifh
 * @date 2023-03-16 21:48:43
 */
public interface PositionNewestService {
    /**
     * 根据jzId查询最近有位置信息的一条记录
     */
    PositionNewestQueryResultDTO getPositionNewestByJzId(String jzId);

    void saveBatch(List<Position> positions);

    void handle(PositionHandleDTO dto);

    void handleSysCheck(PositionHandleDTO dto);

    Date getPositionTime(String jzId, String deviceCode);

    /**
     * 根据JzIds查询数据
     */
     List<PositionNewestQuerySimpleResultDTO> getPositionNewestByJzIds(List<String> jzIds);

    /**
     * 查询列表：不分页
     */
    List<PositionNewestQueryResultDTO> listPositionNewest(PositionNewestQueryParamDTO dto);

    /**
     * 查询列表：分页
     */
    QueryPageResultDTO<PositionNewestQueryResultDTO> pagePositionNewest(PositionNewestQueryParamDTO dto, PageParamDTO page);
}
